package com.code.day16DuoXian2.not05lambda;

/**
 * 测试类 - 演示匿名内部类和Lambda表达式的使用
 */
public class Test01 {

    /**
     * 主方法 - 程序入口点
     * 演示三种不同的方式实现USB接口
     */
    public static void main(String[] args) {
        // 方式一：使用匿名内部类实现USB接口
        method(new USB() {
            @Override
            public String open(String s) {
                return s + "打开了";
            }
        });

        System.out.println("===============");

        // 方式二：使用Lambda表达式实现USB接口（完整语法）
        method((String s) -> {
            return s + "打开了";
        });

        System.out.println("===============");

        // 方式三：使用Lambda表达式实现USB接口（简化语法）
        method(s -> s + "打开了");
    }

    /**
     * 工具方法 - 接收USB接口实现并调用open方法
     *
     * @param usb USB接口实例
     */
    public static void method(USB usb) {
        // 调用USB接口的open方法，传入"鼠标"参数
        String retust = usb.open("鼠标");
        System.out.println(retust);
    }
}
